package com.yanqu.road.entity.activity.ghost;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.player.UserBaseInfo;

/**
 * 鬼市送财玩家
 */
@FieldTypeAnnotation(tableName = "t_c_activity_ghost_disperse_player")
public class GhostDispersePlayer extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "批次")
    private int batchNo;
    @FieldTypeAnnotation(desc = "类型，1发现最终boss，2击杀最后一只boss")
    private int type;
    @FieldTypeAnnotation(desc = "用户ID")
    private long userId;
    @FieldTypeAnnotation(desc = "用户基础信息")
    private UserBaseInfo userBaseInfo;
    @FieldTypeAnnotation(desc = "时间")
    private long time;

    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public void setBatchNo(int batchNo) {
        if (this.batchNo != batchNo) {
            this.batchNo = batchNo;
            setOp(DataStatus.Update);
        }
    }

    public void setType(int type) {
        if (this.type != type) {
            this.type = type;
            setOp(DataStatus.Update);
        }
    }

    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public void setTime(long time) {
        if (this.time != time) {
            this.time = time;
            setOp(DataStatus.Update);
        }
    }

    public void setUserBaseInfo(UserBaseInfo userBaseInfo) {
        this.userBaseInfo = userBaseInfo;
        setUpdateOption();
    }

    public int getActivityId() {
        return activityId;
    }

    public int getBatchNo() {
        return batchNo;
    }

    public int getType() {
        return type;
    }

    public long getUserId() {
        return userId;
    }

    public UserBaseInfo getUserBaseInfo() {
        return userBaseInfo;
    }

    public long getTime() {
        return time;
    }
}
